import request from '@/utils/request'

/**
 * 查询农事服务列表（分页）
 * @param {Object} query - 查询参数
 */
export function listWork(query) {
  return request({
    url: '/yjnb/agricultural/list',
    method: 'get',
    params: query
  })
}

/**
 * 模糊搜索（标题 + 摘要）
 * @param {Object} query - 查询参数
 */
export function searchWork(query) {
  return request({
    url: '/yjnb/agricultural/search',
    method: 'get',
    params: query
  })
}

/**
 * 查询农事服务详细信息
 * @param {Number|String} id - 服务ID
 */
export function getWork(id) {
  return request({
    url: '/yjnb/agricultural/get/' + id,
    method: 'get'
  })
}

/**
 * 新增农事服务
 * @param {Object} data - 新增数据
 */
export function addWork(data) {
  return request({
    url: '/yjnb/agricultural/add',
    method: 'post',
    data: data
  })
}

/**
 * 修改农事服务
 * @param {Object} data - 修改后的数据
 */
export function updateWork(data) {
  return request({
    url: '/yjnb/agricultural/update',
    method: 'put',
    data: data
  })
}

/**
 * 删除农事服务（支持单个/批量）
 * @param {Array|Number|String} ids - 删除ID
 */
export function delWork(ids) {
  // 确保传入的是数组
  const idList = Array.isArray(ids) ? ids : [ids];

  // 过滤掉空值
  const validIds = idList.filter(id => id !== null && id !== undefined);

  if (validIds.length === 0) {
    return Promise.reject(new Error('请选择要删除的农事服务'));
  }

  // 拼接URL参数：ids=1&ids=2&ids=3
  const queryString = validIds.map(id => `ids=${id}`).join('&');

  const url = `/yjnb/agricultural/deletes?${queryString}`;

  return request({
    url: url,
    method: 'delete'
  })
}

/**
 * 批量更新上架状态
 * @param {Object} data - { ids: [1,2], status: 1 }
 */
export function updateWorkStatus(data) {
  return request({
    url: '/yjnb/agricultural/updateStatus',
    method: 'put',
    data: data
  })
}

/**
 * 批量更新推荐状态
 * @param {Object} data - { ids: [1,2], isRecommend: 1 }
 */
export function updateWorkRecommend(data) {
  return request({
    url: '/yjnb/agricultural/updateRecommend',
    method: 'put',
    data: data
  })
}

/**
 * 导出农事服务数据
 */
export function exportAgricultural() {
  return request({
    url: '/common/excel/agricultural/export',
    method: 'get',
    responseType: 'blob'
  })
}